//https://leetcode.cn/problems/median-of-two-sorted-arrays/description/
//寻找两个正序数组的中位数
//给定两个大小分别为 m 和 n 的正序（从小到大）数组 nums1 和 nums2。
//请你找出并返回这两个正序数组的 中位数 。
//算法的时间复杂度应该为 O(log (m+n)) 。

double findMedianSortedArrays(int* nums1, int nums1Size, int* nums2, int nums2Size) {
    int count = 0;
    int flag1 = 0;
    if((nums1Size + nums2Size) % 2 == 0)
    flag1 = 1;

    int i = 0, j = 0;
    int k = (nums1Size + nums2Size) / 2;
    double tmp1 = 0;
    while(count != k&&(i != nums1Size||j != nums2Size))
    {
        if(count != k&&i != nums1Size&&(j == nums2Size||nums1[i] <= nums2[j]))
        {
            tmp1 = nums1[i];
            i++;
            count++;
        }
        if(count != k&&j != nums2Size&&(i == nums1Size||nums1[i] >= nums2[j]))
        {
            tmp1 = nums2[j];
            j++;
            count++;
        }
    }

    double tmp2 = 0;
    if(i == nums1Size)
    {
        tmp2 = nums2[j];
    }
    else if(j == nums2Size)
    {
        tmp2 = nums1[i];
    }
    else
    {
        tmp2 = nums1[i] > nums2[j] ? nums2[j] : nums1[i];
    }

    if(flag1 == 0)
    {
        return tmp2;
    }
    else
    {
        return (tmp1 + tmp2) / 2;
    }
}